package com.zwz.dao;

import java.util.List;

import com.zwz.bean.BaseBean;

/**
 * dao基类
 * @author zhangwanzhong
 * 2015年12月25日 下午9:09:12
 * @param <T>
 */
public interface BaseDao<T> {
	
	/**
	 * 新增
	 * @param t
	 * @return
	 */
	public int add(T t);
	
	/**
	 * 修改(全部)
	 * @param t
	 * @return
	 */
	public int update(T t);
	/**
	 * 修改不为空的
	 * @param t
	 * @return
	 */
	public int updateBySelective(T t); 	
	/**
	 * 删除
	 * @param id 主键ID
	 * @return
	 */
	public int delete(Object id);
	
	/**
	 * 根据ID查询
	 * @param id 主键ID
	 * @return
	 */
	public T queryById(Object id);
	
	/**
	 * 查询总条数
	 * @param model
	 * @return
	 */
	public int queryByCount(BaseBean model);
	/**
	 * 分页查询
	 * @param model
	 * @return
	 */
	public List<T> queryByList(BaseBean model);
}
